ARTS NUMÉRIQUES

INTERACTIVITÉ


Actionscript > Ciblage d’une variable


par : mc

Exercice inspiré de flashxpress

Vous pouvez cibler des variables de la même manière que des occurrences en utilisant la même syntaxe à point et les mêmes propriétés (_root, _level, _parent, _this).

Dans l’exemple suivant, les variables déterminant la vitesse d’une occurrence sont déclarées dans la ligne du temps principale. Les boutons modifiant ces variables pourraient donc pointer vers le niveau _root (racine en anglais), mais cet usage étant déconseillé (voir article Actionscript > Level), j’ai utilisé _parent (qui fait remonter l’instruction d’un niveau). Les variables déterminant la vitesse de l’autre occurrence sont déclarées dans celle-ci. Les boutons modifiant ces variables devront donc pointer vers elle en l’appelant par son nom.

1. Créez un nouveau fichier, déposez sur la scène 2 occurrences de movieClip nommées « rond1 » et rond2 », déposez sur la scène 8 occurrences de bouton nommées de « bouton1 » à « bouton8 ».

2. En sélectionnant le movieClip « rond1 », écrivez dans la fenêtre « Actions » le code suivant :

onClipEvent (load) {
var vit1x;
var vit1y;
}

>>> Au chargement du movieClip, les variables vit1x et vit1y sont déclarées en son sein.

3. En sélectionnant le movieClip « rond2 », écrivez dans la fenêtre « Actions » le code suivant :

onClipEvent (enterFrame) {
this._x += _parent.vit2x;
this._y += _parent.vit2y;

>>> Lors de chaque changement d’image dans la ligne du temps, les positions horizontales et verticales de ce movieClip sont incrémentées de la valeur des variables vit2x et vit2y déclarées au niveau supérieur, c’est-à-dire dans ce cas la ligne du temps principale.

if (this._x <= 20 || this._x >= 380) {
_parent.vit2x = -_parent.vit2x;
} else if (this._y <= 20 || this._y >= 380) {
_parent.vit2y = -_parent.vit2y;
}
}

>>> Si la position horizontale de ce movieClip est inférieure à 20px ou supérieure à 380px, la variable vit2x devient négative. Idem pour la variable vit2y.

4. En sélectionnant la 1ère image de la ligne du temps principale, écrivez dans la fenêtre « Actions » le code suivant :

var vit2x ;

var vit2y ;

>>> les variables vit2x et vit2y sont déclarées à ce niveau.

rond1.onEnterFrame = function(){
this._x += this.vit1x;
this._y += this.vit1y;

>>> Lors de chaque changement d’image dans la ligne du temps, les positions horizontales et verticales du movieClip « rond1 » sont incrémentées de la valeur des variables vit1x et vit1y déclarées en son sein.

if (this._x <= 20 || this._x >= 380) {
this.vit1x = -this.vit1x;
} else if (this._y <= 20 || this._y >= 380) {
this.vit1y = -this.vit1y;
}
}

>>> Si la position horizontale du movieClip « rond1 » est inférieure à 20px ou supérieure à 380px, la variable vit1x, déclarée en son sein, devient négative. Idem pour la variable vit1y.

bouton1.onRollOver = function(){
rond1.vit1x = 10;
}

>>> En cas de survol du « bouton1 », la variable « vit1x » déclarée dans la movieClip « rond1 » prend la valeur 10.

bouton2.onRollOver = function(){
rond1.vit1x = -10;
}

>>> En cas de survol du « bouton2 », la variable « vit1x » déclarée dans la movieClip « rond1 » prend la valeur -10.

bouton3.onRollOver = function(){
rond1.vit1y = 10;
}

>>> En cas de survol du « bouton3 », la variable « vit1y » déclarée dans la movieClip « rond1 » prend la valeur 10.

bouton4.onRollOver = function(){
rond1.vit1y = -10;
}

>>> En cas de survol du « bouton4 », la variable « vit1y » déclarée dans la movieClip « rond1 » prend la valeur -10.

bouton5.onRollOver = function(){
vit2x = 10;
}

>>> En cas de survol du « bouton5 », la variable « vit2x » prend la valeur 10.

bouton6.onRollOver = function(){
vit2x = -10;
}

>>> En cas de survol du « bouton6 », la variable « vit2x » prend la valeur -10.

bouton7.onRollOver = function(){
vit2y = 10;
}

>>> En cas de survol du « bouton7 », la variable « vit2y » prend la valeur 10.

bouton8.onRollOver = function(){
vit1y = -10;
}

>>> En cas de survol du « bouton8 », la variable « vit2y » prend la valeur 10.

5. Publiez.

Téléchargez cet exercice et le fichier .fla ci-dessous.




logo DOCUMENT 363 ciblage_variable PDF 25085 logo DOCUMENT 364 ciblage_variable Zip 5423
rechercher par mot-clé

mots-clés liés à cet article

actionscript

flash

interactivité

quelques sites liés aux mots-clés de cet article


actionscript
zoneflashmx
Portail Flash, Actions script, html, Javascript, (...)
actionscripts.org
Tutorial et scripts Actionscript.
flash-france
Portail sur Flash.
shockwave
Play free online games, download games, and multiplayer (...)
trucsweb
ASP, Javascript, HTML, DHTML, CSS, DOM, XHTML, WML, (...)
mediabox
Centre de formation Flash, Dreamweaver, Director.
actionscript sur wikipédia
Description de l’ActionScript sur Wikipédia.
codes-sources
C++, ASP, ASP.NET, PHP, Java, ColdFusion, Javascript, (...)
oreilly
Site des Éditions O’Reilly.
moock
Colin Moock, artiste programmeur en Actionscript.


flash
white house animation inc
Animations Flash.
cbt cafe
Computer Based Training featuring free Video tutorials (...)
absolu flash
Jeux en flash.
kinetic
Agence Web (Singapour).
industorious clock
Horloge flash.
wiki.media-box
Wiki sur Flash, Actionscript, xhtml & css, PHP, ASP, (...)
l’horloge
D’après Charles Baudelaire.
flashxpress
Portail Flash et Dreamweaver.
macromedia
dreamweaver, flash, director ...
trustfiles
The Trustfiles is an artistic multi-media project by (...)


interactivité
moock
Colin Moock, artiste programmeur en Actionscript.
kac
Eduardo Kac is internationally recognized for his (...)
j4y
L’artiste numérique Jeremy Glik.
trustfiles
The Trustfiles is an artistic multi-media project by (...)
le ciel est bleu
Conception multimedia et interactivité.
art interactive
Art Interactive’s mission is to provide a public (...)
gratin
Groupe de Recherches en Art et Technologies Interactives
mxhz
mxHz est un collectif d’artistes issus des médias, (...)
rokeby
David Rokeby is a sound and video installation artist (...)
computer fine arts
Galerie d’artistes web.